package com.ruoyi.mall.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 抢购商品对象 mall_time_goods
 *
 * @author ruoyi
 * @date 2022-02-25
 */
public class MallTimeGoods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 抢购商品ID */
    private Long id;

    /** 0为第一个，上一个所属用户ID */
    @Excel(name = "0为第一个，上一个所属用户ID")
    private Long pid;

    /** 所属人ID */
    @Excel(name = "所属人ID")
    private Long userId;

    /** 所属人名 */
    @Excel(name = "所属人名")
    private String userName;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 现价 */
    @Excel(name = "现价")
    private BigDecimal price;

    /** 是否为虚拟商品：0-否 1-是 */
    @Excel(name = "是否为虚拟商品：0-否 1-是")
    private Integer isVirtual;

    /** 定时上架（虚拟商品） */
    @Excel(name = "定时上架", readConverterExp = "虚=拟商品")
    private String timingPublish;

    /** 定时下架（虚拟商品） */
    @Excel(name = "定时下架", readConverterExp = "虚=拟商品")
    private String timingXaiPublish;

    /** 所属仓库ID */
    @Excel(name = "所属仓库ID")
    private Long regionId;

    /** 所属仓库名 */
    @Excel(name = "所属仓库名")
    private String regionName;

    /** 是否发布：0-未发布 1-已发布 2-正在交易 3-正在发货*/
    @Excel(name = "是否发布：0-未发布 1-已发布 2-正在交易 3-正在发货")
    private Integer isPublish;

    /** 封面图 */
    @Excel(name = "封面图")
    private String coverImg;

    /** 委托上架费 */
    @Excel(name = "委托上架费")
    private BigDecimal upFee;

    /** 详情 */
    @Excel(name = "详情")
    private String description;

    /** 实际委托费 */
    @Excel(name = "实际委托费")
    private BigDecimal actualUpFee;

    /** 委托订单id */
    @Excel(name = "委托订单id")
    private Long orderId;

    /** 是否支付委托上架费：0-未付款 1-已付款 */
    @Excel(name = "是否支付委托上架费：0-未付款 1-已付款")
    private Integer isPay;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNumber;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 开始时间 */
    private String startTime;

    /** 结束时间 */
    private String endTime;

    /** 实付手续费 */
    private BigDecimal realUpFee;

    public BigDecimal getRealUpFee() {
        return realUpFee;
    }

    public void setRealUpFee(BigDecimal realUpFee) {
        this.realUpFee = realUpFee;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setPid(Long pid)
    {
        this.pid = pid;
    }

    public Long getPid()
    {
        return pid;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setIsVirtual(Integer isVirtual)
    {
        this.isVirtual = isVirtual;
    }

    public Integer getIsVirtual()
    {
        return isVirtual;
    }
    public void setTimingPublish(String timingPublish)
    {
        this.timingPublish = timingPublish;
    }

    public String getTimingPublish()
    {
        return timingPublish;
    }
    public void setTimingXaiPublish(String timingXaiPublish)
    {
        this.timingXaiPublish = timingXaiPublish;
    }

    public String getTimingXaiPublish()
    {
        return timingXaiPublish;
    }
    public void setRegionId(Long regionId)
    {
        this.regionId = regionId;
    }

    public Long getRegionId()
    {
        return regionId;
    }
    public void setRegionName(String regionName)
    {
        this.regionName = regionName;
    }

    public String getRegionName()
    {
        return regionName;
    }
    public void setIsPublish(Integer isPublish)
    {
        this.isPublish = isPublish;
    }

    public Integer getIsPublish()
    {
        return isPublish;
    }
    public void setCoverImg(String coverImg)
    {
        this.coverImg = coverImg;
    }

    public String getCoverImg()
    {
        return coverImg;
    }
    public void setUpFee(BigDecimal upFee)
    {
        this.upFee = upFee;
    }

    public BigDecimal getUpFee()
    {
        return upFee;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setActualUpFee(BigDecimal actualUpFee)
    {
        this.actualUpFee = actualUpFee;
    }

    public BigDecimal getActualUpFee()
    {
        return actualUpFee;
    }
    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setIsPay(Integer isPay)
    {
        this.isPay = isPay;
    }

    public Integer getIsPay()
    {
        return isPay;
    }
    public void setOrderNumber(String orderNumber)
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber()
    {
        return orderNumber;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("pid", getPid())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("name", getName())
            .append("price", getPrice())
            .append("isVirtual", getIsVirtual())
            .append("timingPublish", getTimingPublish())
            .append("timingXaiPublish", getTimingXaiPublish())
            .append("regionId", getRegionId())
            .append("regionName", getRegionName())
            .append("isPublish", getIsPublish())
            .append("coverImg", getCoverImg())
            .append("upFee", getUpFee())
            .append("description", getDescription())
            .append("actualUpFee", getActualUpFee())
            .append("orderId", getOrderId())
            .append("isPay", getIsPay())
            .append("orderNumber", getOrderNumber())
            .append("payTime", getPayTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
